#include "utilisateur.h"

Utilisateur::Utilisateur(QObject *parent) :
    QObject(parent)
{
    // Début de la requète
    QString debut("SELECT  c.relname, p.id_pers, p.nom_pers, p.prenom_pers, p.naiss_pers, p.login_pers, p.mdp_pers, e.id_equipe, e.nom_equipe, e.campagne FROM personnels AS p, pg_class AS c, equipes AS e WHERE p.tableoid = c.oid AND e.id_equipe = p.equipe AND p.login_pers = '");
    QString fin("';");
    QString var(getenv("USER")); // Windows USERNAME
    // Concaténation de la requête
    debut += var + fin;
    QSqlQuery query;
    // Exécution de la requête
    if(!query.exec(debut)){
        // Si erreur, l'affiche et quitte
        qDebug() << "Creation Instance Utilsateur:" <<query.lastError() << endl;
        exit(EXIT_FAILURE);
    } else {
        if(query.size() == 1){
            // Sinon si une seule réponse, tout va bien
            query.next();
            this->grade = query.value(0).toString();
            this->num = query.value(1).toInt();
            this->nom = query.value(2).toString();
            this->prenom = query.value(3).toString();
         //   this->login = query.value(5).toString();
            this->login = "b.mares";
            this->idEquipe = query.value(7).toInt();
            this->nomEquipe = query.value(8).toInt();
            this->campagne = query.value(9).toInt();
            this->etat = "";
        } // else
            // Sinon faudrait mettre un message d'erreur
    }
}

QString Utilisateur::getNom() const
{
    return nom;
}

void Utilisateur::setNom(QString newNom)
{
    nom = newNom;
}


int Utilisateur::getNum() const
{
    return num;
}

void Utilisateur::setNum(int newNum)
{
    num = newNum;
}


QString Utilisateur::getGrade() const
{
    return grade;
}

void Utilisateur::setGrade(QString newGrade)//attention à garder absolument et encore quoi que
{
    if (newGrade=="managers")//vérifier auprès de Simon - CHECK, les noms sont bons
    {
        newGrade="2m";
    }
    if (newGrade=="telemarketeurs")//là aussi
    {
        newGrade="2t";
    }
    grade = newGrade;
}


QString Utilisateur::getEtat() const
{
    return etat;
}

void Utilisateur::setEtat(QString newEtat)
{
    if (etat != newEtat)
    {
        etat = newEtat;
        emit etatChanged(newEtat);
    }

}

QString Utilisateur::getPrenom() const
{
    return prenom;
}

QString Utilisateur::getLogin() const
{
    return login;
}

int Utilisateur::getIdEquipe() const
{
    return idEquipe;
}
QString Utilisateur::getNomEquipe() const
{
    return nomEquipe;
}

int Utilisateur::getCampagne() const
{
    return campagne;
}
